1. Field of the Invention
The invention relates generally to methods and apparatus used for graphically defining display screens and operator (man-machine) interface control for computing systems.
More particularly, the invention relates to methods and apparatus for (a) graphically defining and generating a "Display Library" (to be defined hereinafter) that can be used by a stand alone process control and/or process measurement instrument containing an interpretation engine (a software task designed to interpret Display Definitions) to actually render displays and control their appearance and behavior during real time process operations; and (b) interpreting the contents of the aforesaid Display Libraries (using said interpretation engine) during the normal operation of a stand alone instrument, thereby rendering displays having the defined appearances and behaviors.
By using the invention, display screens and operator interface controls can be created, provided to and executed on a wide range of user process control and measurement instruments which run on platforms that are otherwise incapable of supporting a display editor.
2. Definitions
a) "Appearance" is defined herein to include at least the following items for every category of defined Display Object, where said categories include bar charts, trends, numerics, text, geometric shapes, pictures, etc.: position, size, foreground color and background color of a given Display Object. In addition, depending on the specific type of Display Object involved, further appearance parameters may be included, such as font size for a text object, etc. PA0 b) "Taught Behavior" is defined herein as a context sensitive (e.g., manual mode versus auto mode, etc.) response(s) to a single external event (such as an operator depressing a button, an alarm going off, etc.), i.e., what happens if a given button is pressed, if a given alarm goes off, etc. PA0 c) "Inherent Behavior" is defined herein to be a response that is associated with a specific type of Display Object, such as bar charts, trends, numerics, text, geometric shapes, pictures, etc. For example, with number object an up arrow button being depressed is predefined to increment the numeric data source for the number referenced by that object. It should be noted that a Taught Behavior may override an inherent behavior; i.e, when an increment button is depressed it can be taught to ignore that event or take some other action (according to the preferred embodiment of the invention Taught Behavior gets priority of Inherent Behavior). PA0 d) "Custom Procedural Logic" is a run time interpretable program presented in the form of data to a Display Definition interpretation engine. Such program may be used to process data, including performing calculations and taking conditional steps, based on real time data inputs. PA0 e) A "Data Source Identifier" is defined herein to include a description of what to access; for example, a real time process value within a instrument's dynamic data base, text from within a static text library (created, according to the preferred embodiment of the invention, via the display editor used to create the aforementioned Display Definitions), information from another Display Object, etc. PA0 f) A "Display Object" is defined herein to be a set including one of more of the following types of information: PA0 g) A "Display Definition" is a data set (as opposed to executable code) defined herein to mean an interpretable collection (or list) of Display Objects. PA0 h) A "Display Library" is defined herein to be a collection of one or more Display Definitions together with the aforementioned static text library. PA0 i) "Rendering" a display is defined herein to mean activating and cyclically updating (i.e., at the display refresh rate) the collection of Display Objects contained within a given display.
(1) Appearance; PA1 (2) Taught Behaviors; PA1 (3) Custom Procedural Logic; PA1 (4) A Data Source Identifier; and/or PA1 (5) Other (contained) Display Objects. PA1 3. Description of the Related Art
When interpreted by the aforementioned interpretation engine, the Display Library, in the instrument run time environment, constitutes the complete operator interface for that instrument.
Methods and apparatus for defining graphically display screens and operator (man-machine) interface control for computing systems such as PC's, main frames, etc., (where the apparatus takes the form of a programmable device utilizing such methods), are known in the art. For example, a commercially available set of such methods is embodied in the "Dataview" software, produced by UFO Systems, Inc. and sold with the "Micromax" product sold by Leeds & Northrup.
While such methods and apparatus are effective for certain hardware platforms, such as the aforementioned PC's, main frames, etc.; they are ineffective for platforms having limited processing resources, memory, keyboard limitations or devices utilizing fixed segment display (such as LED displays), etc., typified by platforms which support process control and process measurement instrumentation.
Those skilled in the art will recognize that it is possible to implement special purpose programs which are specifically designed to run on platforms having limited processing resources, etc., for providing display screens and operator interfaces for without the benefit of an editor. For example, the Leeds & Northrup 25,000 Chart Recorder includes displays hard coded as executable programs (embedded code) written in both assembly language or "C" code installed in Read Only Memory (ROM), in the aforementioned chart recorder.
This approach to providing displays and operator interfaces does not permit immediate graphical feedback while designing and/or defining the displays (as opposed to the feedback provided when, for example, designing displays using a display editor); the programming effort itself is tedious; and it is not be possible to download modified or customized display definitions to target instruments without removing, reprogramming and replacing ROM.
Accordingly, it would be desirable to provide methods and apparatus for graphically defining and generating Display Libraries that can be used by a wide range of stand alone process control and/or process measurement instruments not having the system resources available to support a display editor.
Furthermore, it would be desirable to provide methods and apparatus for actually rendering displays and controlling their appearance and behavior during real time process operations, via a means for interpreting the contents of the aforesaid Display Libraries, along with real time data inputs and user inputs, on platforms incapable of supporting a display editor.
Still further, it would be desirable to provide displays and operator interfaces which can be designed by a process that permits immediate graphical feedback while designing and/or defining the displays; and which easily and conveniently permits Display Libraries to be modified, replaced, customized and/or augmented after initial installation in a target instrument without having to remove, replace and reprogram ROM.